package org.lex.app.prefs;

import java.io.IOException;

public interface ResourceMap extends BasicResourceMap {
	public void load() throws IOException;

	public void store() throws IOException;

	/**
	 * equals putString(key, null==value?"":value.toString)
	 * 
	 * @param key
	 * @param value
	 */
	public void putProperty(String key, Object value);

	/*
	 * convenient method for getting or setting ( key, value )
	 */
	public int getInt(String key);

	public int getInt(String key, int defaultValue);

	public long getLong(String key);

	public long getLong(String key, long defaultValue);

	public boolean getBoolean(String key);

	public boolean getBoolean(String key, boolean defaultValue);

	/**
	 * @return the value with the specified key, or null if the property is not
	 *         found
	 */
	public String getString(String key);

	public String getString(String key, String defaultValue);

	public double getDouble(String key);

	public double getDouble(String key, double defaultValue);

	public float getFloat(String key);

	public float getFloat(String key, float defaultValue);
}
